package com.zw.a.basic.a08.demo04_exercise;

import java.util.Scanner;

//案例: 演示遍历字符串.
/*
    涉及到的String类中的方法:
        public int length();            获取字符串的长度
        public char charAt(int index)   根据索引, 获取其对应的字符.

    小细节:
        字符串的底层其实就是一个字符数组, 所以字符串中每个元素都是由编号的, 编号是从0开始的.
 */
public class Demo02 {
    public static void main(String[] args) {
        String str = "abc";
        //1. 演示length方法
        System.out.println("length方法: " + str.length());            //3
        //2. 演示charAt()方法.
        System.out.println("charAt方法: " + str.charAt(2));           //c

        //StringIndexOutOfBoundsException:  字符串索引越界异常.
        //System.out.println("charAt方法: " + str.charAt(20));           //报错

        //需求: 键盘录入一个字符串, 使用程序实现在控制台遍历打印该字符串.
        //1. 创建键盘录入对象.
        Scanner sc = new Scanner(System.in);
        //2. 提示用户录入并接收字符串.
        System.out.println("请录入一个字符串: ");
        String s = sc.nextLine();
        //3. 通过for循环, 遍历字符串, 获取字符串中的每一个索引值.
        for (int i = 0; i < s.length(); i++) {
            //i就是字符串中, 每个字符的索引
            //4. 根据索引, 获取到字符串中的每一个字符.
            char ch = s.charAt(i);
            //5. 打印结果.
            System.out.println(ch);
        }
    }
}
